/**
 * @see https://umijs.org/zh-CN/plugins/plugin-access
 * */
export default function access(initialState: { currentUser?: API.CurrentUser } | undefined) {
  // 管理员1，理赔人员2，业务员团队长3，业务员4，理赔主管5
  let Obj = {};
  try {
    const { currentUser } = initialState ?? {};
    if (currentUser && currentUser?.roleId?.length > 0) {
      switch (currentUser?.roleId[0]) {
        case '1': // 管理员
          Obj = {
            //外出管理
            '/employeeOut': true,
            //案件操作平台
            '/case': true,
            '/case/caseList': true,
            '/case/caseDetail': true, //案件详情
            //报案中心
            '/report': true,
            //提醒管理
            '/remind': true,
            '/remind/goods': true, //货物品名提醒
            '/remind/close': true, //结案周期提醒
            //审核管理
            '/review': true,
            '/review/goOut': true, //外出审核
            '/review/case': true, //结案审核
            '/review/information': true, //资料审核
            //系统管理
            '/system': true,
            '/system/changePassword': true, //修改密码
            '/system/user': true, //用户管理
            '/system/role': true, //角色管理
            '/system/menu': true, //菜单管理
            '/system/smslog': true, //短信记录
          };
          break;
        case '2': // 理赔人员
        case '5': // 理赔主管
          Obj = {
            //外出管理
            '/employeeOut': true,
            //案件操作平台
            '/case': true,
            '/case/caseList': true,
            '/case/caseDetail': true, //案件详情
            //提醒管理
            '/remind': true,
            '/remind/goods': true, //货物品名提醒
            '/remind/close': true, //结案周期提醒
            //系统管理
            '/system': true,
            '/system/changePassword': true, //修改密码
            '/system/smslog': true, //短信记录
          };
          break;
        case '3': // 业务员团队长
        case '4': // 业务员
          Obj = {
            //报案管理
            '/report': true,
            '/case/caseDetail': true, //案件详情
            //系统管理
            '/system': true,
            '/system/changePassword': true, //修改密码
          };
          break;
      }
    }
    return Obj;
  } catch (error) {
    console.log(error, 'error');
    return Obj;
  }
}
